package com.tanhua.dubbo.api;

import com.tanhua.model.enums.CommentType;
import com.tanhua.model.mongo.Comment;
import com.tanhua.model.vo.PageResult;
import org.bson.types.ObjectId;

import java.util.List;

public interface CommentApi {

    //发布评论，并获取评论数量
    //发布评论，并获取评论数量（movement\video）
    Integer save(Comment comment1);

    //分页查询
    List<Comment> findComments(String movementId, CommentType comment, Integer page, Integer pagesize);

    //判断comment数据是否存在
    Boolean hasComment(String movementId, Long userId, CommentType like);

    //删除comment数据
    //删除comment中数据（movement\video）
    Integer delete(Comment comment);


    //判断comment表中是否存在video数据
    Boolean hasVideoComment(String videoId, Long userId, CommentType like);

    //视频评论列表--分页
    List<Comment> videoComments(String videoId, CommentType comment, Integer page, Integer pagesize);

    //视频：评论点赞
    Integer updateLikeContent(String commentId, int commentType);

    //评论点赞
    Integer findCommentCount(String commentId);

    //评论取消点赞
    Integer findDislikeCount(String commentId);

    //查询评论列表
    PageResult findById(Integer page, Integer pagesize, ObjectId movementId);

    //视频：评论点赞-取消
    Integer updatedisLikeContent(String commentId, int commentType);

    //查询当前用户发布的所有动态和视频的评论
    PageResult findAllCommnets(Integer page, Integer pagesize, Long publishUserId, CommentType comment);


}

